package com.woniu.zsd.permission.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.woniu.dto.AdminInfoDto;
import com.woniu.form.*;
import com.woniu.zsd.permission.entity.AdminInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-03-27
 */
public interface IAdminInfoService extends IService<AdminInfo> {

    PageInfo<AdminInfo> selAdminInfoById(SelAdminInfoForm saif);

    AdminInfo login(LoginForm lf);

    int insertAdminInfo(AdminInfoForm aif);

    int updateAdminInfo(UpdateAdminInfoForm uaif);

    int deleteAdminInfoById(Integer adminId);

    // 添加批量查询的接口方法
    List<AdminInfo> selectAdminInfoByIds(Set<Integer> adminIds);

    AdminInfoDto selAdminInfo(Integer adminId);

    List<AdminInfo> selAll();

    void addNewUser(AddNewUserForm addNewUserForm, Integer adminId);

    List<AdminInfo> getAdminsByAdminIdAndRole(Integer adminId);

    Integer getCustomerService();

    boolean checkDuplicateInfo(Integer adminId, String username, String phone);

    boolean updatePassword(Integer adminId, UpdatePasswordForm updatePasswordForm);
}